Conventional data storage systems tend to use a shared bus architecture to connect storage processing engines with arrays of disk drives. One example of such a shared bus architecture is the Fibre Channel (FC) fabric architecture as set forth by the Fibre Channel Industry Association (FCIA).
FIG. 1 shows a block diagram of a conventional data storage system 20 from an actual equipment perspective. That is, FIG. 1 shows the actual, real, physical equipment which forms the conventional data storage system 20. The conventional data storage system 20 includes multiple storage processing engines 22(1), 22(2), 22(3), . . . (collectively, storage processors 22), an array 24 of disk drives 26, and a switch (or arbitrated loop) 28 (e.g., a Fibre Channel switch). Each storage processor 22 has a respective physical connection 30 to the disk drive array 24 through the switch 28.
During operation, the storage processors 22 exchange data 32 with the disk drive array 24 through the switch 28 in a shared bus manner. For example, the storage processor 22(1) is capable of reading blocks of data 32(1) from and writing blocks of data 32(1) to the disk drive array 24 through the switch 28. Similarly, the storage processor 22(2) is capable of reading and writing blocks of data 32(2) through the switch 28, the storage processor 22(3) is capable of reading and writing blocks of data 32(3) through the switch 28, and so on.
As a result of the above-described physical layout for the equipment, if one storage processor 22 were to fail, that storage processor 22 would not necessarily interfere with the other devices. Rather, the remaining storage processors 22, the disk drive array 24 and the switch 28 can continue to perform data storage functions thus enabling the data storage system 20 to remain up and running as a whole.
Recently, a variety of software companies have begun offering application-level data storage solutions which run on top of the above-described equipment (e.g., for volume management, for load balancing, for regularly scheduled backups, etc.). One such software application enables the storage processors 22 to operate as a cluster of nodes which manages a set of volumes on the disk drive array 24. The nodes of the cluster are capable of operating simultaneously in an active-active manner. In the event of an equipment failure (e.g., a failed node or a failed disk drive 26), the remaining nodes communicate with each other and, in some situations, continue to manage the set of volumes on the disk drive array 24. An application which operates in a manner similar to that described above is Cluster Volume Manager (CVM) software which is offered by Oracle Corporation of Redwood Shores, Calif.